Хотя с появлением SwiftUI актуальность autolayout быстро уменьшается, пока этот механизм все еще активно используется, и библиотека может быть полезна для тех, кто создает (или меняет) UI непосредственно в коде.
У такого способа построения интерфейса есть ряд недостатков, которые ограничивают его применение:
- Очень неудобно организовано создание NSLayoutConstraint элементов.
- Плохая наглядность — посмотрев на код трудно понять как будет выглядеть UI.
- Большое количество рутинного кода. Для размещения каждой view требуется создание в среднем около 3 constraints, т.е. три строки однотипного кода.
- Трудоемкость создания динамически изменяемых интерфейсов: требуется сохранять constraints в отдельных переменных, чтобы затем можно было их менять, а также часто создавать избыточные constraints и «выключать» ненужные.
Первая проблема